package org.pine.common.beans;

import org.pine.common.enums.DbDataScopeEnum;

/**
 * 用户信息
 *
 * @author pine
 * @version v1.0
 * @since 2025-04-12 14:53
 */
public interface UserInfo {
    /**
     * 获取用户ID
     *
     * @return 用户ID
     */
    default Long getId() {
        return 0L;
    }

    /**
     * 获取用户名
     *
     * @return 用户名
     */
    default String getUsername() {
        return "";
    }

    /**
     * 获取登录账号
     *
     * @return 登录账号
     */
    default String getLoginAccount() {
        return "";
    }


    /**
     * 获取数据权限<br><pre>
     *     ALL(0, "所有数据"),
     *     DEPT_WITH_CHILDREN(1, "部门及子部门数据"),
     *     DEPT(2, "本部门数据"),
     *     ONLY_SELF(3, "本人数据"),
     *     ;</pre>
     *
     * @return 数据权限
     */
    default DbDataScopeEnum getDataScope() {
        return DbDataScopeEnum.ONLY_SELF;
    }

    /**
     * 获取用户token
     *
     * @return 用户token
     */
    default String getToken() {
        return "";
    }

    /**
     * 获取角色id
     *
     * @return 角色id
     */
    default Long getRoleId() {
        return 0L;
    }
}
